/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.controller;


import br.com.modelo.Grade;
import br.com.modelo.Usuario;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

/**
 *
 * @author Aderly
 */
@ManagedBean
@SessionScoped
public class Controller {
    @EJB
    private UsuarioFacadeLocal usuarioFacade;

    private Usuario usuario = new Usuario();

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
    
    public String novoUsuario(){
        usuario = new Usuario();
        return "novo";
    }
    
    public String salvar(){
        usuarioFacade.create(usuario);
        usuario = new Usuario();
        return "salvo";
    }
    
    public String listaTodos(){
        usuarioFacade.findAll();
        return "listaTodos";
    }
    public Usuario login(){
        return usuario;
    }
    public void teste(){
        List<Usuario> user=usuarioFacade.findAll();
        for(int i=0;i<user.size();i++){
            System.out.println("user "+user.get(i).getNome());
        }
    }
     public List<Usuario> consultarUsuario() {
        EntityManager em = null;
        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<Usuario> c = cb.createQuery(Usuario.class);
        Root<Usuario> usuario = c.from(Usuario.class);

        Root<Grade> grade = c.from(Grade.class);




        c.distinct(true).where(cb.equal(usuario, grade.get("usuario")));

        TypedQuery q = em.createQuery(c);
        return q.getResultList();

    }
}